package daos

import aerolinea.OrdenBusqueda
import servicios.Criterio

class BusquedaDAO {
	def get(Criterio criterio, OrdenBusqueda orden){
		/*(SessionManager.getSession().createQuery("FROM Vuelo vuelo
												  JOIN vuelo.aerolinea as aerolinea
												  JOIN vuelo.tramo as tramo
												  JOIN tramo.asiento as asiento
												  WHERE '"+criterio.getQuery+"'")).list*/

		SessionManager.getSession().createQuery("SELECT DISTINCT vuelo FROM Vuelo vuelo
												  LEFT JOIN vuelo.aerolinea as aerolinea
												  LEFT JOIN vuelo.tramos as tramo
												  LEFT JOIN tramo.asientos as asiento
												  LEFT JOIN asiento.categoria as categoria
												  WHERE "+criterio.getQuery+"
												  ORDER BY "+orden.orden+" asc").list
	}
	
	def save(Criterio c) {
		SessionManager.getSession().saveOrUpdate(c);
	}
	
	def get(int id){
		(SessionManager.getSession().get(Criterio, id)) as Criterio
	}
	
}